The invention relates to a method and a device for a fast performance of network operations via a network characterized by high delay times.
One example for a network having high delay times is the GSM (Global System for Mobile Communication) network. The GSM network is a digital mobile communication network with a usable data rate of 9.6 kBit/s per channel. In contrast to today""s fixed networks, such as the ISDN (Integrated Service Digital Network), the data rate of which goes up to 64 kBit/s, the data rate of GSM is small. Therefore, a GSM connection very strongly influences in a heterogeneous network connection, i.e. in a connection extending over at least two different networks, the absolute throughput of the entire connection. This particularly causes problems, if a GSM user has set up a connection to an internet service provider (ISP) with the purpose of the so-called web-surfing or/and downloading data from the internet. In said scenario the GSM connection constitutes the critical part of the connection with respect to the effective transmission rate.
The exchange of information between the communicating partner instances, in this case between the GSM terminal and the internet service provider (ISP), is based on a protocol stack which is standardized for the internet applications, namely the so-called TCP/IP (Transmission Control Protocol/Internet Protocol) protocol stack. Said protocol stack comprises five protocol layers, hereinafter also called layers. The uppermost layer, the application layer, comprises applications directly used by a user, for instance, surfing the internet is one of the possible applications available to the user. Directly underneath the application layer is a transport layer comprising the transport protocols fulfilling the tasks of said layer, such as the TCP (Transmission Control Protocol) or the UDP (User Datagram protocol). The internet protocol (IP), for example, forms the network layer. The two lowermost layers, the link layer and the physical layer, can be summarized by the term of network-oriented layer, as they are specifically defined in response to the underlying network.
Among others, it is the task of a layer to process the received data or the data to be transmitted. In this respect the communication of one layer exclusively takes place with the directly adjacent layers. The data provided for the transmission are passed on from one layer to the layer lying directly underneath thereof, whereby the data are formatted. Frequently the data of the application layer exceed the size of the packets, which can be transmitted via a physical connection. For this reason a message is divided into smaller data packets, which are arranged consecutively for a transmission. The division of the data is part of the formatting. The formatting of the data is performed on each protocol layer. The formatting of the data includes particularly the addition of control data characteristic for each protocol layer. In most cases the control data are added at the beginning of a data packet in the from of the so-called header or/and at the end in the form of the so-called tail. The actual data are contained in the data field. Said control data are characteristically defined and standardized for each layer, for only in this way can a uniform communication between two partner instances be guaranteed. In connection with the present invention specific control data of the TCP are significant.
The transport protocol TCP renders a reliable transport service for a byte flow between two communicating partners. Reliability in this respect refers to the avoidance of errors, maintenance of sequence and protection against data losses and duplicates. The byte flow to be transmitted, which is passed on from the application layer to the TCP layer, is sub-divided by the TCP into segments, which will then be transmitted as IP datagrams. An IP datagram designates a data packet formatted according to the rules of the IP protocol. Datagrams have the property that the exchange of data realized by using datagrams is not reliable. Thus, the IP cannot guarantee that a packet is really transported to a receiver. Also, IP datagrams can arrive at the receiving side in the wrong order or as duplicates. Within said concept it is, however, the task of the TCP to detect the faulty transmission and to remove the errors that have occurred. Due to the hierarchy principle the IP datagrams are moreover transmitted to the layer lying directly underneath thereof.
For the realization of the set tasks a number of laborious mechanisms has been integrated into the TCP. The individual mechanisms such as the window mechanism, the cumulative acknowledgment scheme, the so-called Slow-Start-Algorithm or an algorithm for avoiding congestions, the so-called Congestion Avoidance Algorithm, will not be described in more detail. The exact description of said methods can be inferred from xe2x80x9cTCP/IP. Illustrated, Volume 1xe2x80x9d by W. Richard Stevens.
One important mechanism, which will herein be dealt with more closely, relates to the connection set-up with TCP. When a connection is set up, TCP uses the so-called three-way handshake securing the exchange of fixedly defined signaling information. The facts can be seen in FIG. 2. The communicating partners are called client and server, wherein the client is the communication initiating unit and the server is the communication taking unit. Altogether an exchange of three messages will be required for the connection set-up between the client and the server. With sending the first message, the initial sequence numbers between the communicating partners are declared. The data packets which are exchanged are identified by a precise number, the so-called sequence number. For this purpose a header of a TCP data packet is provided with a field, which serves the synchronization of the sequence numbers when the connection is set up, the so-called SYN flag, in FIG. 2 designated by SYN. If the server is ready to take the connection, it responds with a message containing the set SYN flag and an acknowledgment for the initial sequence number of the client ACK(SYN). The client finally sends a message with the acknowledgment for the SYN message of the server ACK(SYN). When the three messages have been exchanged, the connection set-up phase is completed. In the next step the data are transmitted, which is the actual communication being completed by a connection set-up. The connection initiation requires an exchange of four messages. At first, a message containing the set FIN flag (FIN), which effects the disconnection of the connection into the sent direction, is sent from the client to tri the server. The client thereby initiates the connection. The server acknowledges the receipt of this message with ACK(FIN) and equally initiates the disconnection phase. For this purpose he sends the message with the set FIN flag (FIN) to the client, who answers with ACK(FIN). Upon this exchange of messages the connection initiation is completed.
Altogether a minimum of seven messages or three and a half so-called RTTs (Round Trip Time) are required for the set-up and initiation of the connection. An RTT describes a time margin between the sending of a request message and the receipt of the pertinent response message. Said time varies correspondingly in response to the transmission rate of the underlying network.
Many applications are, however, based on a simple interaction between the communicating partner instances. One example for a simple interaction is the so-called transaction, whereby a client sends a request message to the server and the receiver sends the requested information to the sender in a response message. Said kind of data exchange can, for example, be found in the internet and is characterized by a transaction-oriented traffic pattern of the World Wide Web protocol. The transactions in the internet are caused mainly due to the used HTTP protocol.
With the currently used protocol version HTTP/1.0, RFC 1945 xe2x80x9cHypertext Transfer Protocolxe2x80x94HTTP/1.01xe2x80x9d by Berners-Lee, R. Fielding and H. Frystyk, May 1996, a TCP connection is set up first for each requested object of a WWW page, for instance, a text block or an image. Only then is a transaction carried out, i.e. the sender sends a request message to the receiver, go who then sends the requested data in a response message. Thereafter the TCP connection is disconnected again. Said fact has a considerable influence on the total performance of a session, if an explicit connection has to be set up for each object, be it only a small image object, which connection is based on the three-way handshake, which again requires at least three messages for the set-up and four for the initiation.
The tasks that have to be fulfilled by the TCP already show that the TCP was designed for network situations characterized by fast data transmission and small transmission failures, which happens with wire-bound data networks. These assumptions are, however, not fulfilled in the GSM, which is one cause for a non-optimal functionality of TCP in this kind of networks. A number of documents shows concepts dealing with the optimization of TCP for networks having a small transmission capacity. An example for a solution will hereinafter be introduced.
xe2x80x9cT/TCPxe2x80x94TCP Extensions for Transactions Functional Specificationxe2x80x9d RFC 1644 by R. Braden introduces a concept, which optimizes in particular the connection set-up phase. For this purpose information in respect of the connection to a specific server are buffered. Thus, the complete three-way handshake is performed exclusively with the first connection set-up to a server, and the information relating to the configuration of the connection, which are declared during said connection set-up, are buffered. In subsequent accesses to the same server the complete connection set-up is phase bypassed by taking the configuration from the stored information.
The disadvantage of this solution, however, lies in the non-existing transparency for the applications. The realization of is this concept requires the modification of system calls in an application. A faster connection set-up is, for example, obtained by replacing the system calls xe2x80x9cconnectxe2x80x9d and xe2x80x9csendxe2x80x9d by xe2x80x9csendtoxe2x80x9d. Said system calls are part of the so-called socket programming interface, the more exact functionality of which can be inferred from the description below.
In accordance therewith it is an object of the invention to provide a method and a device for realizing an efficient performance of transactions between two communicating units via a transmission link characterized by high delay times.
It has thereby shown to be an advantage that the optimization of the performance of the transactions has a direct influence on the efficiency of the applications, as a fast performance of transactions guarantees a more stable working manner of applications being sensitive to delays.
Another advantage consists in the independence of the realization of the invention from the application layer as well as from the transport layer, as it is guaranteed that the use of the invention remains transparent for both layers.